package ycl.system.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import ycl.common.base.mapper.BaseDao;
import ycl.system.entity.SysPermission;

import java.util.List;

/**
 * <p>
 * 权限 Mapper 接口
 * </p>
 *
 * @author ycl
 * @since 2022-03-03 11:43:56
 */
@Repository
@Mapper
public interface SysPermissionMapper extends BaseDao<SysPermission> {

	/**
	 * 根据用户id查询所具有的权限
	 *
	 * @param userId 用户id
	 * @return 权限集合
	 */
	List<SysPermission> selectByUserId(@Param("userId") Long userId);

	/**
	 * 根据角色id查询对应的权限名
	 *
	 * @param roleIds 角色id集合
	 * @return 权限名集合
	 */
	List<String> selectNameByRoleIds(@Param("roleIds") List<Long> roleIds);

	@Select("select name from sys_permission where status = true")
	List<String> selectName();
}
